Techniques for video compression and audio compression have increased the amount of video data that can be included in a storage device and simplified transmission of video data through a network, making video data increasingly accessible. Many video compression techniques remove a significant amount of video data while maintaining picture quality by using lossy video compression. Often, video compression techniques compare groups of neighboring pixels from one video frame to the next and transmit the differences between frames, rather each complete frame, while applying a discrete cosine transform to reduce spatial redundancy in the transmitted differences.
Because of common compression techniques, to display compressed video, an inverse cosine transform is applied to received compressed data and the received compressed data is used to generate multiple frames. However, these actions are computationally intensive and typically involve repeated execution of similar instructions to decode various groups of pixels in received data. Additionally, many conventional methods for video decoding rely on software, such as a codec, executing on a general purpose processor or graphics processor, introducing additional computation overhead for software configuration and maintenance. Hence, efficient use of hardware resources for video decompression allows for more efficient video decompression.